import 'dart:convert';
// import 'package:flutter/services.dart';

/// 统一 Mock 入口
/// 传入 url，返回假 JSON 字符串
Future<String> mockResponse(String url) async {
  await Future.delayed(const Duration(milliseconds: 800)); // 模拟网络延迟

  if (url == '/articles') {
    // 返回 10 条假文章
    final list = List.generate(
      10,
      (i) => {
        'id': i + 1,
        'title': 'Flutter 学习笔记 ${i + 1}',
        'summary': '这是第 ${i + 1} 篇文章的摘要，纯属 Mock 数据。',
        'content': '这是第 ${i + 1} 篇文章的**正文**，可以很长很长，模拟 Markdown 渲染。',
        'date': '2025-06-${(i + 1).toString().padLeft(2, '0')}T00:00:00Z',
      },
    );
    return jsonEncode(list);
  }

  if (url.startsWith('/article/')) {
    // 把 /article/1 里的 1 抠出来
    final id = int.tryParse(url.split('/').last) ?? 0;
    final fake = {
      'id': id,
      'title': 'Flutter 学习笔记 $id',
      'summary': '摘要 $id',
      'content': '这是编号 $id 的**完整正文**，支持换行、Markdown、代码块等等。',
      'date': '2025-06-${id.toString().padLeft(2, '0')}T00:00:00Z',
    };
    return jsonEncode([fake]);
  }

  if (url == '/login') {
    return jsonEncode({'token': 'fake_token_123'});
  }

  throw Exception('Mock 未配置该地址：$url');
}
